//
// Created by LENOVO on 2024/3/27.
//

#ifndef SERIAL_MAINWINDOW_H
#define SERIAL_MAINWINDOW_H

#include <QMainWindow>
#include <QMouseEvent>
#include <QByteArray>
#include <QDebug>
#include <QSerialPort>        //提供访问串口的功能
#include <QSerialPortInfo>    //提供系统中存在的串口的信息
#include <QTimer>
#include <QMessageBox>
#include <QDateTime>
#include <QIcon>

#include <windows.h>
#include <WinUser.h>
#include <Dbt.h>
#include <devguid.h>
#include <SetupAPI.h>
#include <InitGuid.h>
#include <ui_mainWindow.h>


QT_BEGIN_NAMESPACE
namespace Ui { class mainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow {
Q_OBJECT


public:
    explicit MainWindow(QWidget *parent = nullptr);

    ~MainWindow() override;

    QSerialPort serial;
    QTimer *timer{};
    QTimer *timerSend{};


    void mainWindowInit();
    void port_scan();
    void serial_parity_set();

private:
    Ui::MainWindow *ui{};
    bool scan_flag{};//扫描串口标志
private slots:

    void readyRead();
    void portOpen();
    void my_btnClear_clicked();
//    void my_btnSave_clicked();
    void my_btnSend_clicked();
    void my_ckSendTimer_clicked();
    void my_timerSend_timeout();
    void SerialSend();
};


#endif //SERIAL_MAINWINDOW_H
